<?php
require("../../../libraries/config.php");
require("../../../libraries/db_record2.php");
require("../../../libraries/function.php");
require("../../../libraries/modules/common/common.php");
require("../../../libraries/modules/truyen/f1.php");
require("../../../libraries/cache.php");
//Xcrud --- TRUYEN----------------------
		//truyen_remove_before : Trước khi remove truyện, xóa những dữ liệu liên quan đến truyện đó
		//truyen_before_insert_check: Set alias trước khi insert
		//truyen_after_insert_check: Sau khi insert thì insert thể loại, tag,tac giả
function truyen_remove_before($id){
	//Rmove truyen,truyen_chuong_link,remove truyenchuong,remove truyen_chuong_noidung,remove_truyen_tacgia_fk,remove truyen_theloai_fk
	$db=new db;
	$db->connect();
	$db->nonquery('delete from truyen where id='.$id);
	$db->nonquery('delete from truyen_chuong_link where story_id='.$id);
	$db->nonquery('delete from truyen_chuong where truyen_id='.$id);
	
	$db->nonquery('delete from truyen_chuong_noidung where truyen_id='.$id);
	$db->nonquery('delete from truyen_chuong_noidung1 where truyen_id='.$id);
	$db->nonquery('delete from truyen_chuong_noidung2 where truyen_id='.$id);
	$db->nonquery('delete from truyen_chuong_noidung3 where truyen_id='.$id);
	$db->nonquery('delete from truyen_chuong_noidung4 where truyen_id='.$id);	
	$db->nonquery('delete from truyen_chuong_noidung5 where truyen_id='.$id);
	$db->nonquery('delete from truyen_chuong_noidung6 where truyen_id='.$id);	
	$db->nonquery('delete from truyen_chuong_noidung7 where truyen_id='.$id);
	$db->nonquery('delete from truyen_chuong_noidung8 where truyen_id='.$id);	
	$db->nonquery('delete from truyen_chuong_noidung9 where truyen_id='.$id);
	$db->nonquery('delete from truyen_chuong_noidung10 where truyen_id='.$id);				
	
	$db->nonquery('delete from truyen_tacgia_fk where truyen_id='.$id);
	$db->nonquery('delete from truyen_theloai_fk where truyen_id='.$id);
	$db->nonquery('delete from truyen_tag_fk where truyen_id='.$id);
	$db->nonquery('delete from truyensearch where id='.$id);
	$db->close();



}

function truyen_after_insert_check($data,$primary,$xcrud){
	truyenf1_truyen_theloai_fk_add($primary,$data->get('theloai'));
	truyenf1_truyen_tag_add($primary,$data->get('tags'));
	truyenf1_truyen_tacgia_add($primary,$data->get('tacgia'));
	$data->set('alias',khongdau(trim($data->get('ten'))));
	$db=new Model2;

	$db->query("insert into truyensearch(id,ten,alias) value($primary,'".mysql_real_escape_string($data->get('ten'))."','".$data->get('alias')."')");
	
			//Remote Image
				$image=$data->get('hinhanh');
				//Image trong db và image khi update khác nhau---------
					if($image!=''){
						$url=HOME."images/upload/".$image;
						$url=common_picasa_remote($url);
						if($url!=false){
							$sql="update truyen set hinhanh_remote='1' where id=".intval($primary);
							$db->nonquery($sql);
						}
					}
			//End update image-------------------------------------
}

//Xcrud check the loai -----
function truyen_before_update_check($data,$primary,$xcrud){
	truyenf1_truyen_theloai_check_change_before_update($primary,$data->get('theloai'));
	truyenf1_truyen_theloai_fk_add($primary,$data->get('theloai'));
	truyenf1_truyen_tag_add($primary,$data->get('tags'));
	truyenf1_truyen_tacgia_check_change_before_update($primary,$data->get('tacgia'));
	truyenf1_truyen_tacgia_add($primary,$data->get('tacgia'));
	$data->set('alias',khongdau(trim($data->get('ten'))));
	$db=new Model2;
	$db->query("update truyensearch set ten='".mysql_real_escape_string($data->get('ten'))."',alias='".mysql_real_escape_string($data->get('alias'))."' where id=".intval($primary));
	//Select hình ảnh xem có hình ảnh khác không nhé
	$db->query("select hinhanh from truyen where id=".intval($primary));
	$res=$db->fetchOne();
	$image=$data->get('hinhanh');
	if($res['hinhanh']!=$image){
						$url=HOME."images/upload/".$image;
					
						$url=common_picasa_remote($url,'truyen');
					
						if($url!=false){
						
						}else{
							$sql="update truyen set hinhanh_remote='0' where id=".intval($primary);
							$db->nonquery($sql);
						}
	}
	
	$db->close();
	//Clear cache truyen
	$cache =new cache;
	$cache->flush($primary,'truyen/'.$primary,1);
	
}
function truyen_before_insert_check($data,$xcrud){
	//Kiem tra ten truyen co bi trung ko
	$db=new db;
	$db->connect();
	$db->query("select id from truyen where ten = '".$db->security(trim($data->get('ten')))."'");
	if($db->num_rows()>0){
	 	$xcrud->set_exception('tentruyen',' Truyện này đã tồn tại rồi, xin vui lòng kiểm tra lại. Nếu  cần hỗ trợ xin vui lòng liên hệ ban quản trị TCT!');
		
	}else{
	$data->set('alias',khongdau(trim($data->get('ten'))));
	}
	
}

function truyen_theloai_check($data,$primary,$xcrud){
	$db=new Model2;
	
	$db->nonquery("delete from truyen_theloai_tag where theloai_id =".$primary);
	$db->close();
	truyenf1_truyen_theloai_tag_add($primary,$data->get('tags'));
		
}
function truyen_theloai_tag_remove($primary){
	$db=new db;
	$db->connect();
	$db->nonquery("delete from truyen_theloai_tag where theloai_id =".$primary);
	$db->close();
		
}

// Xcrud end tags

//Xcrud truyen chương ---------------------


function chuong_before_insert_check($data,$xcrud){
	$data->set('alias',khongdau(trim($data->get('ten'))));
	//Check xem user có quyền update chương cho truyện này không
	$md=new Model2;
	$md->query("select user_upload from truyen where id=".intval($data->get('truyen_id')));
	if($md->num_rows()>0){
	
		if($_SESSION['user']['level']!=1&&$_SESSION['user']['level']!=2){
				$row=$md->fetchOne();
				if($_SESSION['user']['username']!=$row['user_upload']){
					
				
						 $xcrud->set_exception('truyen_id',' Bạn không có quyền cập nhật chương truyện này !');
						 
						 exit();
					
					//Kiểm tra truyện này có phải user add không -----
				}
		}
	}else{
		 $xcrud->set_exception('truyen_id',' Bạn không có quyền cập nhật chương truyện này !');
  	     exit();
	}
	
	$data->set('noidung',truyenf1_check_chuong_noidung_image($data->get('noidung')));
	
}
function chuong_before_update_check($data, $primary, $xcrud){
	$valid=true;
	$primary=intval($primary);
	$data->set('alias',khongdau(trim($data->get('ten'))));
	//Kiem tra thu tu chuong
	$db=new Model2;
	$sql1='select * from truyen_chuong where id='.$primary;
	$db->query($sql1);
	$row=$db->fetchOne();
	//Valid pessmion
	if($_SESSION['user']['level']!=1&&$_SESSION['user']['level']!=2){
		if($_SESSION['user']['username']!=$row['user_upload']){
			
			$db->query("select user_upload from truyen where id=".$row['truyen_id']);
			$row2=$db->fetchOne();
			if($row2['user_upload']==$_SESSION['user']['username']){
			}else{
				 $xcrud->set_exception('truyen_id',' Bạn không có quyền cập nhật chương truyện này !');
				 $valid=false; 		
			}
			//Kiểm tra truyện này có phải user add không -----
		}
	}
	$sql="select id from truyen_chuong where truyen_id=".$row['truyen_id']." and id !=".$primary." and thutu =".floatval($data->get('thutu'));
	$db->query($sql);
	if($db->num_rows()>0){
	 $xcrud->set_exception('thutu','Thứ tự này bị trùng với chương khác cùng truyện, xin vui lòng kiểm tra lại !');
	 		     $valid=false;
	// exit();
	}
	
	
	//Kiểm Tra Hình ảnh
	$data->set('noidung',truyenf1_check_chuong_noidung_image($data->get('noidung')));
	//echo $data->get('noidung');
	//Update lại table truyen_chuong_noidung
	//-- Delete noidung cũ trong table_truyen_chuong_noidung di ha
	$dt=array('truyen_id'=>$data->get('truyen_chuong.truyen_id'),
					  'truyen_chuong_id'=>intval($primary),
					  'noidung'=>$data->get('truyen_chuong.noidung'));
	$db->nonquery("delete from truyen_chuong_noidung where truyen_chuong_id=".intval($primary));
	if($valid==false){
		//Nếu valid fail thì đưa nội dung chương truyện vào table truyen_chuong, khi before_edit thì load lại content ở đây
			$db->insert('truyen_chuong_noidung',$dt);
		
	}else{
		//Insert content vào table truyen_chuong_noidung_num
		$table=truyenf1_table_chuong(intval($primary));
		$db->nonquery("delete from $table where truyen_chuong_id=".intval($primary));
		$db->insert($table,$dt);
	}
	

}
function chuong_before_view($data, $primary, $xcrud){
	$md=new Model2;
	$table=truyenf1_table_chuong(intval($primary));
	$md->select='noidung';
	$md->where="truyen_chuong_id=".intval($primary);
	$md->getdata($table);
	$res=$md->fetchOne();
	$data->set("truyen_chuong.noidung",$res['noidung']);	  
}

function chuong_before_edit($data, $primary, $xcrud){
	$md=new Model2;
	$table=truyenf1_table_chuong(intval($primary));
	$md->select='noidung';
	$md->where="truyen_chuong_id=".intval($primary);
	
	$md->getdata("truyen_chuong_noidung");
	if($md->num_rows()>0){
		$res=$md->fetchOne();
	
	}else{
		$md->getdata($table);
		$res=$md->fetchOne();
	
	}
	$data->set("truyen_chuong.noidung",$res['noidung']);	  
}

function chuong_after_insert($data, $primary, $xcrud){
	
	$md=new Model2;
	$dt=array('truyen_id'=>$data->get('truyen_chuong.truyen_id'),
			  'truyen_chuong_id'=>intval($primary),
			  'noidung'=>$data->get('truyen_chuong.noidung'));
	$table=truyenf1_table_chuong(intval($primary));
	$md->insert($table,$dt);	


}
//End xcrud ---- TRUYEN ---------------

//Xcrud check the loai -----

 
?>
